[tool.poetry]
name = "langkit"
version = "0.0.31"
description = "A language toolkit for monitoring LLM interactions"
authors = ["WhyLabs.ai <langkit@whylabs.ai>"]
homepage = "https://docs.whylabs.ai/docs/large-language-model-monitoring"
license = "Apache-2.0"
readme = "DESCRIPTION.md"


[tool.poetry.dependencies]
python = ">=3.8,<4"
textstat = "^0.7.3"
pandas = "*"
whylogs = "^1.3.19"


# optional dependencies
torch = {version = "*", optional = true}
numpy = {version = "*", optional = true}
xformers = {version = "*", platform="!macos", python=">=3.8.0,<4", optional = true}
datasets = {version ="^2.12.0", optional = true}
openai = {version =">=0.27.6, <2.0.0", optional = true}
nltk = {version ="^3.8.1", optional = true}
sentence-transformers = {version ="^2.2.2", optional = true}
evaluate = {version = "^0.4.0", optional = true}
ipywidgets = {version = "^8.1.1", optional = true}
vadersentiment = {version = "^3.3.2", optional = true}
presidio-analyzer = {version = "^2.2.351", optional = true}
h5py = {version = "^3.10.0", optional = true}
detoxify = {version = "^0.5.2", optional = true}


[tool.poetry.group.dev.dependencies]
ipykernel = { version = ">=6.25.2", python = ">=3.8.1,<4" }
pytest =  { version ="^7.3.1", python = ">=3.8.1,<4" }
mypy = { version ="^1.4.1", python = ">=3.8.1,<4" }
flake8 = { version = "^6.1.0", python = ">=3.8.1,<4" }
black = { version = "^23.9.1", python = ">=3.8.1,<4" }
pre-commit = { version = "^3.4.0", python = ">=3.8.1,<4" }
types-setuptools = { version = ">=68.2.0.0", python = ">=3.8.1,<4" }
bump2version = { version = "^1.0.1", python = ">=3.8.1,<4" }

[tool.poetry.extras]
all = [
    "torch",
    "numpy",
    "datasets",
    "openai",
    "nltk",
    "vadersentiment",
    "sentence-transformers",
    "evaluate",
    "ipywidgets",
    "presidio-analyzer",
    "h5py",
    "detoxify",
]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
